home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir40 / pc37042.zip / LIB / SYNERROR.ALC < prev    next >
Text File  |  1987-10-30  |  4KB  |  135 lines

  1.     TITLE 'SYNERROR - SUBROUTINE TO PRINT ERROR MESSAGE IN SYNAD'
  2. * PGMID.  SYNERROR.ALC
  3. * AUTHOR. DON HIGGINS
  4. * DATE.   10/19/87
  5. * REMARKS.
  6. *         THIS SUBROUTINE MAY BE CALLED AT BEGINNING OF SYNAD EXIT TO
  7. *         DECODE DCB FUNCTION AND ERROR CODE IN R1 AND R0.
  8. * MAINTENANCE.
  9. *
  10. * 10/21/87 REVERSE R0 AND R1 FOR COMPATABILITY WITH NATIVE DCB SYNAD
  11. *
  12. SYNERROR CSECT
  13.     USING *,R15
  14.     STM   R0,R4,SAVE04
  15.     LA    R3,FUNTAB
  16.     LA    R4,MAXFUN
  17. FUNSCH   EQU   *
  18.     CLM   R1,3,0(R3)
  19.     BE    FUNHIT
  20.     LA    R3,12(R3)
  21.     BCT   R4,FUNSCH
  22.     LA    R2,=C'SYNAD FUNCTION NOT FOUND$'
  23.     SVC   WTO
  24. SYNEXT   EQU   *
  25.     LM    R0,R4,SAVE04
  26.     BR    R14
  27. FUNHIT   EQU   *           FUNCTION FOUND
  28.     MVC   DFUN,4(R3)  FUNCTION DESCRIPTION
  29.     MH    R0,=H'20'
  30.     AH    R0,2(R3)    R1 = OFFSET TO ERROR MESSAGE FOR FUNCTION
  31.     LR    R1,R0
  32.     LA    R1,ERRTAB-20(R1)
  33.     MVC   DERR,0(R1)  ERROR DESCRIPTION
  34.     LA    R3,DFILE
  35.     LA    R4,L'DFILE
  36.     L     R1,DCBDSN-IHADCB(R2)
  37. DSNLOOP  EQU   *
  38.     MVC   0(1,R3),0(R1) FILE NAME
  39.     LA    R1,1(R1)
  40.     LA    R3,1(R3)
  41.     CLI   0(R1),0
  42.     BE    DSNEND
  43.     BCT   R4,DSNLOOP
  44. DSNEND   EQU   *
  45.     MVI   0(R3),C'$'
  46.     LA    R2,ERRMSG
  47.     SVC   WTO
  48.     B     SYNEXT
  49.     LTORG
  50. SAVE04   DS    5F
  51. ERRMSG   DC    C' I/O ERROR OP= '
  52. DFUN     DC    CL8' ',C'  ERR= '
  53. DERR     DC    CL20' ',C' FILE='
  54. DFILE    DC    CL20' ',C'$'
  55. FUNTAB   DS    0F
  56.     DC    AL2(X'101',PCOPEN-ERRTAB),CL8'PC-OPEN'
  57.     DC    AL2(X'03D',MSOPEN-ERRTAB),CL8'MS-OPEN'
  58.     DC    AL2(X'03C',MSMAKE-ERRTAB),CL8'MS-MAKE'
  59.     DC    AL2(X'102',PCCLOS-ERRTAB),CL8'PC-CLOSE'
  60.     DC    AL2(X'03E',MSCLOS-ERRTAB),CL8'MS-CLOSE'
  61.     DC    AL2(X'103',PCREAD-ERRTAB),CL8'PC-READ'
  62.     DC    AL2(X'042',MSSETP-ERRTAB),CL8'MS-SET'
  63.     DC    AL2(X'03F',MSREAD-ERRTAB),CL8'MS-READ'
  64.     DC    AL2(X'104',PCWRIT-ERRTAB),CL8'PC-WRITE'
  65.     DC    AL2(X'040',MSWRIT-ERRTAB),CL8'MS-WRITE'
  66.     DC    AL2(X'105',PCGETR-ERRTAB),CL8'PC-GET'
  67.     DC    AL2(X'106',PCPUTR-ERRTAB),CL8'PC-PUT'
  68.     DC    AL2(X'107',PCDELF-ERRTAB),CL8'PC-DEL'
  69.     DC    AL2(X'108',PCFIND-ERRTAB),CL8'PC-FIND'
  70.     DC    AL2(X'109',PCRENF-ERRTAB),CL8'PC-REN'
  71. MAXFUN   EQU   (*-FUNTAB)/8
  72. ERRTAB   EQU   *
  73. PCOPEN   EQU   *
  74.     DC    CL20'ALREADY OPEN'         1
  75.     DC    CL20'HANDLE NOT NULL'      2
  76.     DC    CL20'LRECL LT MIN'         3
  77.     DC    CL20'USER BUFFER GT MAX'   4
  78.     DC    CL20'USER BUFFER LT MIN'   5
  79.     DC    CL20'R/W BUFFER LT LRECL'  6
  80.     DC    CL20'MIN BUFFER NOT FREE'  7
  81.     DC    CL20'GET MEMORY ERROR'     8
  82.     DC    CL20'LRECL LT MIN'         9
  83.     DC    CL20'LRECL GT MAX'        10
  84.     DC    CL20'BLKSZ LT MIN'        11
  85.     DC    CL20'BLKSZ GT MAX'        12
  86. MSOPEN   EQU   * 03D 1-5
  87. MSMAKE   EQU   * 03C 3-5
  88. MSCLOS   EQU   * 03E 6
  89. MSREAD   EQU   * 03F 5,6
  90. MSWRIT   EQU   * 040 5,6
  91. MSDELF   EQU   * 041 2,5
  92. MSSETP   EQU   * 042 1,6
  93. MSRENF   EQU   * 056 2,3,5,11H             REN ERR'S
  94.     DC    CL20'FUNCTION # INVALID'      1
  95.     DC    CL20'FILE NOT FOUND'          2
  96.     DC    CL20'PATH NOT FOUND'          3
  97.     DC    CL20'NO HANDLE AVAILABLE'     4
  98.     DC    CL20'ACCESS DENIED'           5
  99.     DC    CL20'HANDLE INVALID'          6
  100. PCCLOS   EQU   *
  101.     DC    CL20'FILE NOT OPEN'      1    7
  102.     DC    CL20'FREEMAIN ERROR'     2    8
  103. PCREAD   EQU   *
  104.     DC    CL20'FILE NOT OPEN'      1    9
  105.     DC    CL20'SHORT BLK/BAD RBA'  2   10
  106.     DC    CL20'ACCESS DENIED'      3   11
  107. PCWRIT   EQU   * 042
  108.     DC    CL20'FILE NOT OPEN'      1   12
  109.     DC    CL20'NOT OUTPUT FILE'    2   13
  110.     DC    CL20'SHORT BLK/BAD RBA'  3   14
  111.     DC    CL20'ZERO BLK/BAD RBA'   4   15
  112.     DC    CL20'DISK FULL'          5   16
  113.     DC    CL20'NOT SAME DISK'          17 X'11' RENAME ERROR (SAVE SPACE)
  114. PCGETR   EQU   *
  115.     DC    CL20'FILE NOT OPEN'      1
  116.     DC    CL20'RECFM INVALID'      2
  117.     DC    CL20'RCD LNG LT MIN'     3
  118.     DC    CL20'RCD LNG GT LRECL'   4
  119. PCPUTR   EQU   *
  120.     DC    CL20'FILE NOT OPEN'      1
  121.     DC    CL20'RECFM INVALID'      2
  122.     DC    CL20'RCD LNG GT LRECL'   3
  123.     DC    CL20'RCD LNG LT MIN'     4
  124.     DC    CL20'RCD LNG GT MAX'     5
  125.     DC    CL20'NO EOR FOR TEXT'    6
  126. PCDELF   EQU   *
  127. PCFIND   EQU   *
  128. PCRENF   EQU   *
  129.     DC    CL20'FILE NOT CLOSED'    7
  130.     DC    CL20'INVALID HANDLE'     8
  131.     COPY  CPY\IHADCB
  132.     COPY  CPY\EQUREGS
  133.     COPY  CPY\EQUSVCS
  134.     END
  135.